#!/bin/bash

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

echo -e "${BLUE}🚀 Baby Tap Mobile 构建和运行脚本${NC}"

# 检查是否在正确的目录
if [ ! -f "package.json" ]; then
    echo -e "${RED}❌ 错误: 请在 BabyTapMobile 目录中运行此脚本${NC}"
    exit 1
fi

# 步骤1: 构建 Golang 服务器
echo -e "${BLUE}📦 步骤1: 构建 Golang 服务器...${NC}"
cd baby-tap-server

if [ ! -f "build-mobile.sh" ]; then
    echo -e "${RED}❌ 错误: 找不到 build-mobile.sh 脚本${NC}"
    exit 1
fi

chmod +x build-mobile.sh
./build-mobile.sh

if [ $? -ne 0 ]; then
    echo -e "${RED}❌ Golang 服务器构建失败${NC}"
    exit 1
fi

cd ..

# 步骤2: 安装 Node.js 依赖
echo -e "${BLUE}📦 步骤2: 安装 Node.js 依赖...${NC}"
npm install

if [ $? -ne 0 ]; then
    echo -e "${RED}❌ Node.js 依赖安装失败${NC}"
    exit 1
fi

# 步骤3: 运行 Android 应用
echo -e "${BLUE}📱 步骤3: 运行 Android 应用...${NC}"
echo -e "${YELLOW}💡 提示: 确保已连接 Android 设备或启动模拟器${NC}"

npx react-native run-android

if [ $? -ne 0 ]; then
    echo -e "${RED}❌ Android 应用运行失败${NC}"
    echo -e "${YELLOW}💡 提示: 请检查 Android 设备连接和开发环境配置${NC}"
    exit 1
fi

echo -e "${GREEN}✅ 构建和运行完成！${NC}"
echo -e "${BLUE}📱 应用已启动，请查看设备屏幕${NC}" 